#ifndef RAYON_H
#define RAYON_H
#include "Point.h"
#include "Vecteur.h"

class Rayon {

protected:

	Point origine;
	Vecteur direction;
	double indiceMilieu;
	int nbReflexion;

public:

	Rayon(){nbReflexion = 0;}
	Rayon(const Point &, const Vecteur &);
	Rayon(const Point &, const Point &);
	Rayon(const Point &, const Vecteur &, double indiceM);
	Rayon(const Point &, const Point &, double indiceM);
	~Rayon(){}
	Point getOrigine() const {return origine;}
	Vecteur getDirection() const {return direction;}
	void setOrigine(const Point &o) {origine=o;}
	void setDirection(const Vecteur &d) {direction=d; direction.normaliser();}
	void setIndiceMilieu(double &i){indiceMilieu = i;}
	double getIndiceMilieu() {return indiceMilieu;}
	void setNbReflexion(int &nb){nbReflexion = nb;}
	int getNbReflexion() {return nbReflexion;}

};
#endif